module.exports = {
    apps: [
        {
            name: 'dsgsjh.top-frontend', // 应用名称
            script: 'npm', // 使用npm作为启动命令
            args: 'run preview', // 使用Vite的preview命令
            cwd: './', // 当前工作目录
            instances: 1, // 实例数量
            exec_mode: 'fork', // 执行模式
            max_memory_restart: '200M', // 内存超过200M时自动重启
            watch: false, // 文件变更时自动重启
            ignore_watch: ['node_modules', 'logs', 'dist'], // 忽略监视的文件夹
            env: {
                NODE_ENV: 'production',
                PORT: 5000
            },
            // 日志配置
            log_date_format: 'YYYY-MM-DD HH:mm:ss',
            error_file: 'logs/frontend-error.log',
            out_file: 'logs/frontend-out.log',
            log_file: 'logs/frontend-combined.log',
            merge_logs: true,
            // 异常处理和自动重启
            autorestart: true,
            restart_delay: 3000, // 崩溃后延迟3秒重启
            // 优雅关闭
            kill_timeout: 5000, // 等待5秒强制关闭
            // 监控
            exp_backoff_restart_delay: 100, // 延迟重启
            max_restarts: 10 // 最大重启次数
        },
        {
            name: 'dsgsjh.top-frontend-build', // 构建任务名称
            script: 'npm', // 使用npm作为启动命令
            args: 'run build', // 构建命令
            cwd: './', // 当前工作目录
            instances: 1, // 实例数量
            exec_mode: 'fork', // 执行模式
            autorestart: false, // 不自动重启
            watch: false, // 不监视文件变更
            env: {
                NODE_ENV: 'production'
            }
        }
    ]
}; 